<?php
/**
 * Modelo CRUD de lista de destinatários para newsletter
 * @author Emanuel Melo e Renato Lenz @ PC4 Team
 */
class PC4_Crud_Newsletter_Telefone_Lista extends PC4_Crud_Newsletter_Lista {
	
	/**
	 * Construtor
	 */
	function __construct($tabela = 'listas') {
		parent::__construct($tabela);
	}
	
	/**
	 * Recupera um registro no banco de dados
	 * @param $id
	 * @return um registro
	 */
	function ve($id) {
		$r = parent::ve($id);
		$mDestinatarios = new PC4_Crud_Newsletter_Telefone_Destinatario();
		$r->destinatarios = $mDestinatarios->listaDaLista($id);
		return $r;
	}
	
	/**
	 * Retorna dados necessários para montar documento excel com
	 * os destinatários e os respectivos descritores e valores de
	 * suas palavras-chave
	 * @param int $id
	 */
	function exportaExcel($id, $modelo) {
		$destinatarios_model = new PC4_Crud_Newsletter_Telefone_Destinatario();
		$excel_model = new PC4_Util_Excel();
		
		$listas = $destinatarios_model->listaOrganizada($id, "0,1");

		$rs = current($listas);
		
		if (!empty($rs)) {
			$r = current($rs);
			$cabecalhos = array_keys($r->descritores);
			$cabecalhos = array_combine($cabecalhos, $cabecalhos);
			array_unshift($cabecalhos, "telefone");
			
		}

		if ($modelo) {
			array_unshift($cabecalhos, "ddd_telefone");
			return $excel_model->exporta(array(), $cabecalhos, "csv");
		}

		$tabelas = "";
		foreach ($listas as $nome_lista => $rs) {
			$registros = array();
			foreach ($rs as $c => $r) {
				$registro = $r->descritores;
				array_unshift($registro, $destinatarios_model->getContato($r));
				$registros[] = $registro;
			}
			$tabelas .= $excel_model->exportaTabela($nome_lista, $registros, $cabecalhos);
		}
		
		$excel_model->enviaHeaders();

		return $tabelas;
		
	}
}
?>